package com.ruoyi.lxy.service;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.lxy.domain.TTravelagen;
import com.ruoyi.lxy.domain.vo.TTravelagenVo;
import com.ruoyi.lxy.domain.bo.TTravelagenBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 旅行社Service接口
 *
 * @author ruoyi
 * @date 2023-08-25
 */
public interface ITTravelagenService {

    /**
     * 与sys_user联动
     */
    SysUser transfer(TTravelagenBo bo);

    /**
     * 查询旅行社
     */
    TTravelagenVo queryById(Long id);

    /**
     * 查询旅行社列表
     */
    TableDataInfo<TTravelagenVo> queryPageList(TTravelagenBo bo, PageQuery pageQuery);

    /**
     * 查询旅行社列表
     */
    List<TTravelagenVo> queryList(TTravelagenBo bo);

    /**
     * 新增旅行社
     */
    Boolean insertByBo(TTravelagenBo bo);

    /**
     * 修改旅行社
     */
    Boolean updateByBo(TTravelagenBo bo);
    /**
     * 新增旅行社 项目关联
     */
    public void insertAgencyProject(Long agencyId,Long[] projects);
    /**
     * 修改旅行社 项目关联
     */
    public void updateAgencyProject(Long agencyId,Long[] projects);
    /**
     * 修改旅行社状态
     */
    Boolean updateUserStatus(TTravelagenBo bo);

    /**
     * 重置旅行社密码
     */
    int resetPwd(TTravelagenBo bo);
    /**
     * 校验并批量删除旅行社信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}
